package com.xygz.orm;

import com.xygz.orm.config.ORMConfig;
import com.xygz.orm.enums.DbType;
import com.xygz.orm.exception.ORMException;

import java.sql.SQLException;

/**
 * to SQL
 *
 * @author xiyuan-lgz 2024-07-06 @version v1.0.0 新建与整理
 */

@SuppressWarnings("all")
public interface ToSQL {
    /**
     * 生成SQL 语句
     *
     * @param dbType 数据库类型
     * @param cfg    数据库配置
     * @return SQL结果
     * @throws ORMException 异常信息
     */
    public SQLWrapper toSQL(DbType dbType, ORMConfig cfg) throws ORMException;
    
    /**
     * 生成SQL 语句
     *
     * @param dbType 数据库类型
     * @return SQL结果
     * @throws ORMException 异常信息
     */
    default SQLWrapper toSQL(DbType dbType) throws ORMException {
        return toSQL(dbType, null);
    }
}
